Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Remote Application Platform</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Remote_Application_Platform"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Remote_Application_Platform rootpage-Remote_Application_Platform skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Remote Application Platform</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right infobox toccolours toptextcells" style="border-spacing:5px; font-size:90%; text-align:left; width:21em;">

<tbody><tr>
<th colspan="2" class="hintergrundfarbe6" style="font-size:105%; text-align:center;">Remote Application Platform
</th></tr>
<tr>
<th colspan="2" class="hintergrundfarbe5" style="font-size:105%; text-align:center;">Basisdaten
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td><b><a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a></b>
</td>
<td><a href="Eclipse_Foundation" title="Eclipse Foundation">Eclipse Foundation</a>
</td></tr>
<tr>
<td><b>Aktuelle&nbsp;<a href="Version_(Software)" title="Version (Software)">Version</a></b>
</td>
<td>3.22 <br> (14.&nbsp;September 2022)
</td></tr>
<tr>
<td><b><a href="Betriebssystem" title="Betriebssystem">Betriebssystem</a></b>
</td>
<td><a href="Java_Virtual_Machine" title="Java Virtual Machine">Java VM</a>
</td></tr>
<tr>
<td><b><a href="Programmiersprache" title="Programmiersprache">Programmier­sprache</a></b>
</td>
<td><span class="wikidata-content"><a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a></span>
</td></tr>
<tr>
<td><b>Kategorie</b>
</td>
<td><a href="Eclipse_(IDE)#Erweiterungen" title="Eclipse (IDE)">Eclipse Plugin</a>
</td></tr>
<tr>
<td><b>Lizenz</b>
</td>
<td><a href="Eclipse_Public_License" title="Eclipse Public License">Eclipse Public License</a>
</td></tr>
<tr>
<td><b><a href="Lokalisierung_(Softwareentwicklung)" title="Lokalisierung (Softwareentwicklung)">deutschsprachig</a></b>
</td>
<td>nein
</td></tr>
<tr>
<td class="hintergrundfarbe5" colspan="2" style="text-align:center;"><a rel="nofollow" class="external text" href="http://www.eclipse.org/rap">www.eclipse.org/rap</a>
</td></tr></tbody></table>
<p>Die <b>Remote Application Platform</b> (kurz <b>RAP</b>, vormals <i>Rich Ajax Platform</i>) ist ein <a href="Eclipse_(IDE)" title="Eclipse (IDE)">Eclipse</a>-<a href="Plug-in" title="Plug-in">Plug-in</a>, zur Entwicklung von <a href="Web_2.0" title="Web 2.0">Web-2.0-Anwendungen</a> (<a href="Ajax_(Programmierung)" title="Ajax (Programmierung)">Ajax</a>) auf Basis der <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a>.
</p><p>Die Entwicklung einer Remote-Application-Platform-Anwendung weicht vom traditionellen Modell der Entwicklung einer Web-2.0-Anwendung dahingehend ab, dass der Programmierer keinerlei <a href="Hypertext_Markup_Language" title="Hypertext Markup Language">HTML</a>-, <a href="JavaScript" title="JavaScript">JavaScript</a>- und <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a>-Kenntnisse besitzen muss, sondern ein ausschließlich auf Java basierendes Programm entwirft. Dazu kann auf viele Java- und Eclipse-<a href="Programmbibliothek" title="Programmbibliothek">Bibliotheken</a> und <a href="Framework" title="Framework">Frameworks</a> zurückgegriffen werden.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Des Weiteren kann der bestehende Rich-Ajax-Platform-<a href="Quelltext" title="Quelltext">Quelltext</a> mit geringem Mehraufwand für eine <a href="Desktopanwendung" class="mw-redirect" title="Desktopanwendung">Desktopanwendung</a> angepasst und als solche <a href="Kompilierung" class="mw-redirect" title="Kompilierung">kompiliert</a> werden.
</p>

<div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2></div>
<p>RAP wurde unter dem Namen „Rich Ajax Platform“ von der auf die Entwicklung von Eclipse-Plugins spezialisierten Karlsruher Firma Innoopract Informationssysteme entwickelt und steht unter der <a href="Eclipse_Public_License" title="Eclipse Public License">Eclipse Public License</a> als <a href="Open_Source" title="Open Source">Open Source</a> zur freien Verfügung. Mit Erscheinen der Version 2.0 wurde RAP in „Remote Application Platform“ umbenannt, um den universeller gewordenen Charakter der Platform deutlich zu machen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Technischer_Hintergrund">Technischer Hintergrund</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Ajax">Ajax</h3></div>
<p>Web-2.0-Anwendungen basieren auf <a href="Ajax_(Programmierung)" title="Ajax (Programmierung)">Ajax</a>, welches kurz für „Asynchrones JavaScript und XML“ steht. Ajax ist eine Kombination aus bereits seit längerem bekannten Techniken für die Darstellung und Automatisierung von Webseiten. Das Zusammenspiel all dieser Technologien ermöglicht das asynchrone Nachladen von Inhalten innerhalb einer Webseite, ohne sie komplett neu laden zu müssen. Dies ermöglicht die Entwicklung von interaktiven Webseiten, die denselben Funktionsumfang wie eine <a href="Desktopanwendung" class="mw-redirect" title="Desktopanwendung">Desktopanwendung</a> besitzen. Ein bekanntes Beispiel ist der Web-2.0-Texteditor <a href="Google_Docs%2C_Sheets%2C_Slides_und_Forms#Textverarbeitung_(Docs)" class="mw-redirect" title="Google Docs, Sheets, Slides und Forms">Google Docs</a>.
</p><p>Um eine solche Web-2.0-Anwendung zu entwickeln, muss zunächst ein rudimentäres <a href="Hypertext_Markup_Language" title="Hypertext Markup Language">HTML</a>-Gerüst erstellt werden, welches für die Anordnung aller visuellen Elemente zuständig ist. Um das so erstellte Layout zu formatieren, wird ein <a href="Cascading_Style_Sheets" title="Cascading Style Sheets">Cascading Style Sheet</a> eingebettet. Somit ist es möglich, die Webseite auf verschiedenen Geräten und für Benutzer mit eingeschränkten Wahrnehmungsfähigkeiten <a href="Barrierefreies_Internet" title="Barrierefreies Internet">barrierefrei</a> darzustellen.
</p><p>Nun werden mit Hilfe von <a href="JavaScript" title="JavaScript">JavaScript</a> und <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a> interaktive Elemente eingebunden. So kann die Webseite Daten entgegennehmen und senden, diese lokal verarbeiten und den Inhalt entsprechend manipulieren. Sollten externe Inhalte benötigt werden, so kann JavaScript diese per <a href="XMLHttpRequest" title="XMLHttpRequest">XMLHttpRequest</a> von einem entfernten <a href="Server" title="Server">Server</a> herunterladen. Für Operationen, die über den Funktionsumfang von JavaScript hinausgehen, können serverseitig <a href="H%C3%B6here_Programmiersprache" title="Höhere Programmiersprache">höhere Programmiersprachen</a> wie <a href="PHP" title="PHP">PHP</a>, <a href="Perl_(Programmiersprache)" title="Perl (Programmiersprache)">Perl</a> oder <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> eingebunden werden.
</p>
<div class="mw-heading mw-heading3"><h3 id="Rich_Client_Platform">Rich Client Platform</h3></div>
<p>Die Remote Application Platform versucht, den Vorgang der <a href="Ajax_(Programmierung)" title="Ajax (Programmierung)">Web-2.0-Programmierung</a> zu erleichtern. Um diesen Prozess besser zu verstehen, ist zunächst das Verständnis einiger Grundlagen notwendig.
</p><p><a href="Eclipse_(IDE)" title="Eclipse (IDE)">Eclipse</a> baut auf dem Prinzip des <a href="Rich_Client" class="mw-redirect" title="Rich Client">Rich Client</a> auf. Dieser basiert wiederum auf dem sogenannten <a href="Fat_Client" title="Fat Client">Fat Client</a>. Der Fat Client unterteilt sich oberflächlich betrachtet in zwei Schichten: Auf der untersten Schicht findet die lokale Datenverarbeitung des Programms statt. Auf der darüberliegenden Schicht befindet sich meist eine <a href="Grafische_Benutzeroberfl%C3%A4che" title="Grafische Benutzeroberfläche">grafische Benutzeroberfläche</a> (GUI). Zur Anbindung an eine Programmiersprache bietet der Rich Client eine <a href="Programmierschnittstelle" title="Programmierschnittstelle">Programmierschnittstelle</a> (API).
</p><p>Wie bereits erwähnt ist der Rich Client eine Erweiterung des Fat Client. Zur Datenverarbeitungs- und GUI- kommt eine Pluginschicht hinzu. Ein <a href="Plug-in" title="Plug-in">Plug-in</a> ist eine einfache Möglichkeit die Funktionalität einer bestehenden Plattform zu erweitern.
</p><p>In der Theorie:
</p>
<ul><li>arbeiten verschiedene Plugins konfliktfrei parallel miteinander</li>
<li>sind Plugins anwendungs- und <a href="Plattformunabh%C3%A4ngig" class="mw-redirect" title="Plattformunabhängig">plattformunabhängig</a></li>
<li>sind Plugins einfach zu warten</li></ul>
<p>Auf Grundlage dieser Paradigmen entstand die <a href="Rich_Client_Platform" class="mw-redirect" title="Rich Client Platform">Rich Client Platform</a> (kurz <i>RCP</i>) von Eclipse. Die RCP ist eine Sammlung vieler logischer, sowie visueller Bestandteile, die der Entwicklung von <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java-Programmen</a> dienen. So bietet die RCP beispielsweise das <a href="Standard_Widget_Toolkit" title="Standard Widget Toolkit">Standard Widget Toolkit</a> (kurz <i>SWT</i>), welches der Erstellung <a href="Java_Native_Interface" title="Java Native Interface">nativer</a> visueller Oberflächen dient, fertige Hilfe- und Update-GUIs, XML-Werkzeuge und vieles mehr.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Zudem steht die RCP mit der <a href="Eclipse_Public_License" title="Eclipse Public License">Eclipse Public License</a> als <a href="Open_Source" title="Open Source">Open Source</a> zur freien Verfügung und wird stetig weiterentwickelt.
</p>
<div class="mw-heading mw-heading3"><h3 id="Remote_Application_Platform">Remote Application Platform</h3></div>

<p>Die Remote Application Platform (kurz <i>RAP</i>) vereinigt das Beste aus den Welten von <a href="Ajax_(Programmierung)" title="Ajax (Programmierung)">Ajax</a> und der <a href="Rich_Client_Platform" class="mw-redirect" title="Rich Client Platform">Rich Client Platform</a>. Es bietet <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java-Programmierern</a> ein mächtiges, einheitliches <a href="Framework" title="Framework">Framework</a> zur Erstellung von Web-2.0-Anwendungen.<br>
RAP basiert auf einer <a href="Client-Server-Modell" title="Client-Server-Modell">Client-Server-Struktur</a>. Auf der <a href="Server" title="Server">Serverseite</a> befindet sich ein Applikationsserver wie z.&nbsp;B. <a href="Apache_Tomcat" title="Apache Tomcat">Apache Tomcat</a>, <a href="Jetty_(Webserver)" title="Jetty (Webserver)">Jetty</a> etc. der das Javaprogramm ausführt und die Daten an den <a href="Client" title="Client">Client</a> (d.&nbsp;h. an einen <a href="Webbrowser" title="Webbrowser">Browser</a>) sendet. Für den Browser werden die vorhandenen <a href="Standard_Widget_Toolkit" title="Standard Widget Toolkit">SWT-Oberflächenelemente</a> durch <a href="Qooxdoo#Einsatz" title="Qooxdoo">RWT</a> (<a href="Qooxdoo" title="Qooxdoo">Qooxdoo</a>), also HTML und Ajax ersetzt.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Installation">Installation</h2></div>
<p>Ist Eclipse bereits installiert, gestaltet sich die Installation von RAP denkbar einfach per <a href="#Weblinks">Update-Site</a>. Alternativ gibt es fertige Packages auf der <a href="#Weblinks">RAP-Webseite</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementierung">Implementierung</h2></div>
<p>Es folgt ein illustratives Beispiel zur Entwicklung einer RAP-Anwendung auf Basis von <a href="Standard_Widget_Toolkit" title="Standard Widget Toolkit">SWT</a>.
</p><p>Innerhalb Eclipse wird zur Plugindevelopment Perspektive gewechselt und ein neues Projekt per: „New Project &gt; Plugin Project &gt; RAP Hello World“ angelegt.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p><p>In der Klasse „Application“ wird nun folgende Methode geschrieben:
</p>
<div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// Hello World in RAP</span>
<span class="kd">public</span><span class="w"> </span><span class="n">Text</span><span class="w"> </span><span class="n">txt</span><span class="p">;</span>

<span class="kd">public</span><span class="w"> </span><span class="n">Display</span><span class="w"> </span><span class="nf">createUI</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">Display</span><span class="w"> </span><span class="n">display</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Display</span><span class="p">();</span>

<span class="w"> </span><span class="n">Shell</span><span class="w"> </span><span class="n">shell</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Shell</span><span class="p">(</span><span class="n">display</span><span class="p">);</span><span class="w"> </span><span class="c1">// Neues Fenster anlegen</span>
<span class="w"> </span><span class="n">shell</span><span class="p">.</span><span class="na">setSize</span><span class="p">(</span><span class="mi">320</span><span class="p">,</span><span class="w"> </span><span class="mi">240</span><span class="p">);</span><span class="w"> </span><span class="c1">// Größe des Fensters festlegen</span>

<span class="w"> </span><span class="n">txt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Text</span><span class="p">(</span><span class="n">shell</span><span class="p">,</span><span class="w"> </span><span class="n">SWT</span><span class="p">.</span><span class="na">SIMPLE</span><span class="p">);</span><span class="w"> </span><span class="c1">// Textfeld erstellen</span>
<span class="w"> </span><span class="n">txt</span><span class="p">.</span><span class="na">setLocation</span><span class="p">(</span><span class="n">shell</span><span class="p">.</span><span class="na">getClientArea</span><span class="p">().</span><span class="na">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="n">shell</span><span class="p">.</span><span class="na">getClientArea</span><span class="p">().</span><span class="na">y</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">40</span><span class="p">);</span><span class="w"> </span><span class="c1">// Textfeld positionieren und skalieren</span>

<span class="w"> </span><span class="n">Button</span><span class="w"> </span><span class="n">button</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Button</span><span class="p">(</span><span class="n">shell</span><span class="p">,</span><span class="w"> </span><span class="n">SWT</span><span class="p">.</span><span class="na">PUSH</span><span class="p">);</span><span class="w"> </span><span class="c1">// Button erstellen</span>
<span class="w"> </span><span class="n">button</span><span class="p">.</span><span class="na">setText</span><span class="p">(</span><span class="s">"Hello World!"</span><span class="p">);</span><span class="w"> </span><span class="c1">// Button-Text festlegen</span>
<span class="w"> </span><span class="n">button</span><span class="p">.</span><span class="na">setBounds</span><span class="p">(</span><span class="n">shell</span><span class="p">.</span><span class="na">getClientArea</span><span class="p">().</span><span class="na">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="n">shell</span><span class="p">.</span><span class="na">getClientArea</span><span class="p">().</span><span class="na">y</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="n">shell</span><span class="p">.</span><span class="na">getClientArea</span><span class="p">().</span><span class="na">width</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">);</span><span class="w"> </span><span class="c1">// Button positionieren und skalieren</span>
<span class="w"> </span><span class="n">button</span><span class="p">.</span><span class="na">addSelectionListener</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">SelectionListener</span><span class="p">(){</span><span class="w"> </span><span class="c1">// Listener zum Button hinzufügen, um den Klick darauf abzufangen</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">widgetDefaultSelected</span><span class="p">(</span><span class="n">SelectionEvent</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{}</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">widgetSelected</span><span class="p">(</span><span class="n">SelectionEvent</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">txt</span><span class="p">.</span><span class="na">setText</span><span class="p">(</span><span class="s">"Hello World!"</span><span class="p">);</span><span class="w"> </span><span class="c1">// Bei Klick "Hello World!" im Textfeld ausgeben</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">});</span>

<span class="w"> </span><span class="n">shell</span><span class="p">.</span><span class="na">open</span><span class="p">();</span><span class="w"> </span><span class="c1">// Fenster öffnen</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">display</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Einsatz_auf_anderen_Plattformen">Einsatz auf anderen Plattformen</h2></div>
<p>Auf der Remote Application Platform aufbauend können mit Frameworks wie beispielsweise Tabris Java-Applikationen derart implementiert werden, dass ihre Benutzerinteraktionen auf Plattformen wie Android oder iOS ausgeführt werden. Der Code für die Darstellung und Benutzerinteraktion läuft dabei nativ auf den jeweiligen Plattformen, die Kommunikation mit dem Server erfolgt über JSON.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> Damit ist es möglich in Java-Applikationen für Plattformen zu schreiben, die selbst Java nicht unterstützen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.eclipse.org/rap/">Eclipse: Offizielle Seite der Remote Application Platform</a></li>
<li><a rel="nofollow" class="external text" href="http://download.eclipse.org/technology/rap/update-site">Eclipse: Rich Ajax Platform Update-Site</a></li>
<li><a rel="nofollow" class="external text" href="http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html">The Screencast Blog: Videos zur RAP Installation und Demoerstellung</a></li>
<li><a rel="nofollow" class="external text" href="http://it-republik.de/jaxenter/news/RAP-bringt-RCP-Anwendungen-in-den-Browser-049657.html">„RAP bringt RCP-Anwendungen in den Browser“</a> – Interview mit RAP Co-Lead Rüdiger Herrmann</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */


.mw-parser-output .webarchiv-memento a{color:inherit}


/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080115170655/http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html">RAP Insights Blog: Introducing „RAP Insights“</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */


.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}


/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Frapblog.innoopract.com%2F2007%2F10%2Fintroducing-rap-insights.html">Originals</a></span> vom 15. Januar 2008 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/rapblog.innoopract.com</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.golem.de/0710/55379.html"><i>Eclipse Rich Ajax Platform 1.0 verfügbar</i>.</a> Golem News</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://wiki.eclipse.org/RCP_FAQ"><i>Rich Client Platform FAQ</i></a> Eclipse Wiki</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://wiki.eclipse.org/index.php/Rich_Client_Platform"><i>Rich Client Platform</i>.</a> Eclipse Wiki</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.eclipse.org/rap/demos/">Eclipse: RAP Demos</a></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://code.google.com/p/unicase/wiki/Eclipse_Configuration_for_RAP">Eclipse Configuration for RAP</a> bei Google Code</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://projects.eclipse.org/projects/rt.rap">RAP About</a> von Eclipse Projects</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080318161249/http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html">Videos zur RAP Installation und Demoerstellung.</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.thescreencast.com%2F2007%2F10%2Ffirst-look-at-eclipse-rich-ajax.html">Originals</a></span> vom 18. März 2008 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.thescreencast.com</span> The Screencast Blog</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://developer.eclipsesource.com/tabris/">Tabris</a> – native iOS und Android Apps mit Java und RAP</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-05-17" href="https://de.wikipedia.org/wiki/?title=Remote_Application_Platform&amp;oldid=256078193">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>